package com.koron.system.org.service;

import com.koron.bean.system.org.OrgBean;
import com.koron.bean.system.org.dto.OrgDto;
import com.koron.bean.system.org.query.OrgQuery;
import com.koron.bean.system.staff.StaffBean;
import com.koron.bean.system.staff.vo.EamUser;
import com.koron.common.core.business.common.service.CommonService;
import com.koron.system.common.util.TypeTreeVo;
import com.koron.system.org.bean.WorkFlowDepartment;

import java.util.List;

public interface OrgService extends CommonService{

    int insertOrg(EamUser user, OrgBean orgBean);

    int updateOrg(EamUser user, OrgBean orgBean);

    int inUpOrg(EamUser user, OrgBean orgBean);

    int deleteOrg(String id);

    List<StaffBean> queryStaffList(OrgBean orgBean);

    int deleteOrgList(List<String> ids);

    List<TypeTreeVo> queryOrgTree(OrgQuery orgQuery);

    /*List<OrgBean> queryNextOrgList(OrgBean orgBean, BaseQueryBean queryBean);*/

    List<OrgBean> queryNextOrgList(OrgQuery orgQuery);

    List<OrgBean> queryDeptByOrgIdList(OrgDto orgDto);

    Long queryNextOrgListCount(OrgBean orgBean);

    OrgBean querySingleOrg(OrgBean orgBean);

    /**
     * 获取工作流组织
     *
     * @return
     */
    List<WorkFlowDepartment> getWorkFlowDepartmentList();

    int resetPy();

    List<String> getOrgLevel(String orgId);

    OrgBean queryDeptByOrgId(String orgId);

    List<OrgBean> queryByOrgIds(List<String> orgIds);

    Integer getSortByName(String name);

}
